#ifndef DECLARE_H
#define DECLARE_H

#ifndef DEGUG
#define DEBUG 1
#endif

#define ELEMTYPE char
#define SIZE_T int

//
// data structure for lnBinTree
//
//
struct BinTreeNode;

typedef struct BinTreeNode *PBinTreeNode;

struct BinTreeNode {
    ELEMTYPE info;
    PBinTreeNode lchild;
    PBinTreeNode rchild;
};

typedef struct BinTreeNode *PLNBinTree;


//
// data structure for lnqueue
//
struct Node; 
typedef struct Node * PNode;

struct Node
{
    PBinTreeNode info;
    PNode link;
};

struct stQueue {
    PNode head;
    PNode rear;
    SIZE_T length;
};

typedef struct stQueue * PLQueue;
#endif
